package com.treeliked.netdiskdemo.service;

import com.treeliked.netdiskdemo.model.Response;
import com.treeliked.netdiskdemo.model.dataobject.File;

import java.util.List;

/**
 * 文件夹操作接口
 *
 * @author lqs2
 * @date 2018/11/29, Thu
 */
public interface FolderService {

    /**
     * 创建文件夹
     *
     * @param path       文件夹的路径
     * @param folderName 文件夹名
     * @param response   操作响应
     * @param author     归属
     * @throws Exception 抛出所有异常
     */
    void createFolder(String path, String folderName, String author, Response response) throws Exception;


    /**
     * 删除文件夹
     *
     * @param path     文件夹路径
     * @param folderId 文件夹id
     * @param response 操作响应
     * @throws Exception 抛出所有异常
     */
    void deleteFolder(String path, String folderId, Response response) throws Exception;


    /**
     * 展示指定文件夹的所有文件
     *
     * @param path   路径
     * @param author 用户名
     * @return 文件模型
     * @throws Exception 抛出所有异常
     */
    List<File> showFile(String path, String author) throws Exception;

}
